package com.starlink.model.request;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.starlink.common.PageQueryRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author zhanghong
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel("书包订单请求模型")
public class SchoolbagOrderRequest extends PageQueryRequest implements Serializable {
    @ApiModelProperty("订单编号")
    private String orderNo;
    @ApiModelProperty("订单金额")
    private BigDecimal orderAmount;
    @ApiModelProperty("订单状态 1待支付 2已支付 3已退款 4退款中 5已取消")
    private Integer orderStatus;
    @ApiModelProperty("微信支付订单号")
    private String wxOrderNo;
    @ApiModelProperty("微信退款订单号")
    private String wxRefundNo;
    @ApiModelProperty("用户id")
    private Long userId;
    @ApiModelProperty("订阅人")
    private String userName;
    @ApiModelProperty("电话")
    private String mobile;
    @ApiModelProperty("用户openId")
    private String openId;
    @ApiModelProperty("地址id")
    private Long addressId;
    @ApiModelProperty("购买的书包类型id")
    private Long schoolbagId;
    @ApiModelProperty("购买的书包规格id")
    private Long schoolbagSpecId;
    @ApiModelProperty("所属分组id")
    private Long schoolbagGroupId;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("支付超时时间")
    private Date timeout;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("取消时间")
    private Date cancelTime;
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("支付时间")
    private Date payTime;
    @ApiModelProperty("订单服务是否已完整 0否 1是")
    private Integer serviceFinish;
}
